Howling control device and howling control method

ABSTRACT

A howling control apparatus and howling control method for controlling time up to the cancellation of howling suppression according to a howling occurrence situation, thereby eliminating the repetition of howling suppression and cancellation. A band dividing section ( 101 ) divides a signal input to an input terminal ( 110 ) into a plurality of frequency band signals, a band lo level calculating section ( 102 ) calculates band levels of the plurality of divided frequency band signals, a band level average value calculating section ( 103 ) calculates an average value of the respective band levels, a howling detecting section ( 104 ) detects howling based on the band level and the band level average value and measures time for which no howling occurs, a waiting time setting section ( 105 ) decides waiting time to be set this time from time for which no howling occurs and a previous waiting time, and a gain control section ( 106 ) causes a gain that is set to a howling suppressing section ( 107 ) to be retuned to a normal value during the waiting time.

TECHNICAL FIELD

[0001] The present invention relates to a howling control apparatus andhowling control method for controlling howling generated by soundcoupling between a speaker and a microphone in an acoustic apparatushaving a microphone and a speaker such as a hearing aid, a loud-speakersystem, and the like.

BACKGROUND ART

[0002] Conventionally, as illustrated in FIG. 1, the howling controlapparatus of this type included an input terminal 1008, a band dividingsection 1001, a band level calculating section 1002, a band levelaverage value calculating section 1003, a howling detecting section1004, a gain control section 1005, a howling suppressing section 1006, aband combining section 1007, and an output terminal 1009.

[0003] The band dividing section 1001 provides one frame (frame length:approximately 10 to 100 ms) buffering to an output signal of amicrophone amplifier input to the input terminal 1008 and that of an ADconverter and the like and divides a time signal x(t) into signals (banddivision signals) xi (t) of a predetermined number (for example, M, M isa positive integer) of frequency bands in a frame unit (i is a positiveinteger including 0 to M-1 and called band number)by a method such as apolyphase filter, a Fast Fourier Transform (FFT), or a bandpass filterand the like. The following processing is independently performed foreach of M band division signals in a frame unit.

[0004] The band level calculating section 1002 calculates each level Li(t) such as each band power or amplitude using band division signals xi(t) subjected to the band division by the band dividing section 1001.

[0005] The band level average value calculating section 1003 adds therespective M band levels Li (t) and performs division by the number ofadded bands (M) to calculate a band level average value Lave (t).

[0006] The howling detecting section 1004 performs processing asillustrated in a flowchart of FIG. 2 to set a value to a howlingdetection flag dtct_flg-i of each band vision signal.

[0007] First of all, in order to check whether howling is beingsuppressed currently, the value of howling detection flag dtct_flg-i isconfirmed (S1001). When the value of howling detection flag dtct_flg-iis 0x0000 (0xnnnn indicates that nnnn is a hexadecimal number), it isjudged that no howling is being suppressed currently and determinationon howling is performed.

[0008] Next, a level ratio Ri (t) is calculated according to thefollowing equation using the band level Li (t) and the band levelaverage Lave (t) (S1002):

Ri(t)=Li(t)/Lave(t)

[0009] Sequentially, comparison between a level ratio Ri (t) and a levelratio threshold Th_R is performed (S1003). When Ri (t)>Th_R as a resultof comparison, a value of a howling detection counter dtct_cnt-i iscompared with a count threshold Th_cnt (S1004).

[0010] When dtct_cnt-i>Th_cnt, a band level average value Lave (t) of acurrent frame is substituted into a reference level Lref-i (t) (S1005),and the value of howling detection flag dtct_flg-i is set to 0xffff(S1006).

[0011] When dtct_cnt-i≦Th_cnt, the value of counter dtct_cnt-i isincremented by one (S1007).

[0012] When Ri (t)≦Th_R as a result of comparison in S1003, the value ofcounter dtct_cnt-i is reset to ‘0’ (S1008).

[0013] The gain control section 1005 sets a gain Gi (t) by processing asillustrated in a flowchart of FIG. 3.

[0014] First of all, it is checked whether howling is detected withreference to the howling detection flag dtct_flg-i (S1011). Whendtct_flg-i=0xffff, the gain Gi (t) is updated according to the followingequation in order to suppress the howling (S1012):

Gi(t)=Gi(t−1)×Gdown

[0015] where Gdown is an update quantity for reducing the gain and avalue of 0<Gdown<1is obtained.

[0016] Next, a ratio between the band level Li (t) and the referencelevel Lref-i (t) is compared with a gain control threshold Th_Ctrl_gain(S1013). When Li (t)/Lref-i (t)<Th_Ctrl_gain, since it is judged thatoccurrence of howling is stopped, the value of howling detection flagdtct_flg-i is set to 0x0000 in order to shift processing to processingfor returning the gain Gi (t) to ‘1’ (S1014).

[0017] When the howling detection flag dtct_flg-i=0×0000 as a result ofthe comparison in S1011, since no howling occurs, if the gain Gi (t) isunder 1, the gain Gi (t) is updated according to the following equationin order to return the gain to one time (S1015).

[0018]Gi(t)=Gi(t−1)×Gup

[0019] where Gup is an update quantity for increasing the gain and avalue of Gup>1 is obtained.

[0020] The howling suppressing section 1006 multiplies the band divisionsignals xi (t) subjected to band division by the band dividing section1001 by the gain Gi (t) set by the gain control section 1005 to obtainyi (t) according to the following equation:

yi(t)=xi(t)×Gi(t)

[0021] The band combining section 1007 calculates a time signal y (t)using the above yi (t) by a method corresponding to the band divisionmethod such as a polyphase filter, an FFT, and the like performed by theband dividing section 1001.

[0022] However, in such the conventional howling control apparatus,since a consideration of whether there is a situation in which howlingeasily occurs is not given at the time of canceling the suppression ofhowling, there is a problem in which the suppression of howling iscancelled though a situation in which howling easily occurs continuessince, for example, much time is taken to attach a hearing aid, with theresult that occurrence ofhowling→suppression→cancellation→occurrence→suppression→cancellation→ .. . are repeated, resulting in a grating sound.

DISCLOSURE OF INVENTION

[0023] An object of the present invention is to control time up to thecancellation of howling suppression according to a howling occurrencesituation to eliminate the repetition of howling suppression andcancellation.

[0024] The subject of the present invention is to measure a howlingobserving time that is time for which no howling occurs to controlprocessing for returning a gain used in howling suppression processingaccording to the howling observing time after the howling suppressionprocessing at the time when howling occurs.

[0025] According to one embodiment of the present invention, a howlingcontrol apparatus adopts a configuration including detecting means formeasuring a howling observing time that is time for which no howlingoccurs in an input signal and for detecting howling when the howlingoccurs in the input signal, control means for controlling suppressionprocessing of the detected howling by setting a gain based on thehowling observing time, and suppressing means for performing howlingsuppression processing to the input signal using the gain.

[0026] According to another embodiment of the present invention, ahowling control method including the steps of measuring a howlingobserving time that is time for which no howling occurs in an inputsignal detecting howling when the howling occurs in the input signal,controlling suppression processing of the detected howling by setting again based on the howling observing time, and performing howlingsuppression processing to the input signal using the gain.

BRIEF DESCRIPTION OF DRAWINGS

[0027]FIG. 1 is a schematic block diagram illustrating a conventionalhowling control apparatus;

[0028]FIG. 2 is a flowchart illustrating processing of a howlingdetecting section of a conventional howling control apparatus;

[0029]FIG. 3 is a flowchart illustrating processing of a gain controlsection of a conventional howling control apparatus;

[0030]FIG. 4 is a schematic block diagram illustrating a howling controlapparatus according to Embodiment 1 of the present invention;

[0031]FIG. 5 is a flowchart illustrating processing of a howling controlapparatus according to Embodiment 1 of the present invention;

[0032]FIG. 6 is a flowchart illustrating processing of a howlingdetecting section of a howling control apparatus according to Embodiment1;

[0033]FIG. 7A is a state transition view illustrating an operation of awaiting time setting section of a howling control apparatus according toEmbodiment 1;

[0034]FIG. 7B is a state transition view illustrating another operationof a waiting time setting section of a howling control apparatusaccording to Embodiment 1;

[0035]FIG. 8 is a flowchart illustrating processing of a gain controlsection of a howling control apparatus according to Embodiment 1;

[0036]FIG. 9 is a schematic block diagram illustrating a howling controlapparatus according to another specific form of Embodiment 1;

[0037]FIG. 10 is a schematic block diagram illustrating a parametricequalizer of a howling control apparatus according to another specificform of Embodiment 1;

[0038]FIG. 11 is a flowchart illustrating processing of a howlingcontrol apparatus according to another specific form of Embodiment 1;

[0039]FIG. 12 is a schematic block diagram illustrating a howlingcontrol apparatus according to Embodiment 2 of the present invention;

[0040]FIG. 13 is a flowchart illustrating processing of a howlingcontrol apparatus according to Embodiment 2;

[0041]FIG. 14A is a state transition view illustrating an operation ofan update quantity setting section of a howling control apparatusaccording to Embodiment 2;

[0042]FIG. 14B is a state transition view illustrating another operationof an update quantity setting section of a howling control apparatusaccording to Embodiment 2;

[0043]FIG. 15 is a flowchart illustrating processing of a gain controlsection of a howling control apparatus according to Embodiment 2;

[0044]FIG. 16 is a schematic block diagram illustrating a howlingcontrol apparatus according to another specific form of Embodiment 2;and

[0045]FIG. 17 is a flowchart illustrating processing of a howlingcontrol apparatus according to another specific form of Embodiment 2.

BEST MODE FOR CARRYING OUT THE INVENTION

[0046] Embodiments of the present invention will be explained withreference to the drawings.

[0047] Embodiment 1

[0048] FIGS. 4 to 8 are views each illustrating a howling controlapparatus according to Embodiment 1 of the present invention.

[0049] As illustrated in FIG. 4, the howling control apparatus of thisembodiment includes an input terminal 110 to which an output signal of amicrophone amplifier and that of an AD converter are input, a banddividing section 101 that divides the signal input to the input terminal110 into signals of a plurality of frequency bands, a band levelcalculating section 102 calculates band levels of the signals of theplurality of frequency bands divided by the band dividing section 101, aband level average value calculating section 103 that calculates anaverage value of the respective band levels calculated by the band levelcalculating section 102, a howling detecting section 104 that detectshowling based on the band levels and the band level average value andmeasures time for which no howling occurs (howling observing time), awaiting time setting section 105 that decides a waiting time to be setthis time from the howling observing time and a previous waiting time, again control section 106 that sets a gain based on a result of thehowling detecting section 104, a howling suppressing section 107 thatmultiplies the frequency band signals subjected to the band division bythe band dividing section 101 by the gain set by the gain controlsection 106, a band combining section 108 that combines the plurality offrequency band signals, and an output terminal 111 that outputs acombined signal.

[0050] An operation of such a howling control apparatus will beexplained with reference to a flowchart of FIG. 5.

[0051] First of all, the band dividing section 101 provides one frame(frame length: approximately 10 to 100 ms) buffering to a signal inputto the input terminal 110 and divides a time signal x (t) into signals(band division signals) xi (t) of a predetermined number (for example,M, M is a positive integer) of frequency bands in a frame unit (i is apositive integer including 0 to M-1 and called band number)by a methodsuch as a polyphase filter, a Fast Fourier Transform (FFT), or abandpass filter and the like (S11). The following processing isindependently performed for each of M band division signals in a frameunit.

[0052] Next, the band level calculating section 102 calculates a levelLi (t) such as band power or amplitude using band division signals xi(t) subjected to band division by the band dividing section 101 (S12).

[0053] After that, the band level average value calculating section 103adds the respective M band levels Li (t) and performs division by thenumber of added bands (M) to calculate a band level average value Lave(t) (S13).

[0054] Sequentially, the howling detecting section 104 detects howlingby processing as illustrated in a flowchart of FIG. 6 (S14).

[0055] As illustrated in FIG. 6, first of all, in order to check whetherhowling is being suppressed currently, a value of howling detection flagdtct_flg-i is conformed (S21).

[0056] When the value of howling detection flag dtct_flg-i is 0x0000, itis judged that no howling is being suppressed currently and a value ofhowling observing time how_off_cnt-i is incremented by ‘1’ to count timefor which no howling occurs (S22).

[0057] Next, a level ratio Ri (t) (i is a band number) is calculatedaccording to the following equation using the band level Li (t) and theband level average Lave (t) (S23):

Ri(t)=Li(t)/Lave (t)

[0058] Sequentially, comparison between the calculated level ratio Ri(t) and a level ratio threshold Th_R is performed (S24). WhenRi(t) >Th_R as a result of comparison, a value of a howling detectioncounter dtct_cnt-i is compared with a count threshold Th_cnt (S25).

[0059] When dtct_cnt-i>Th_cnt, a band level average value Lave(t) of acurrent frame is substituted into a reference level Lref-i (S26), andthe value of howling detection flag dtct_flg-i is set to 0xffff (S27).

[0060] When dtct_cnt-i≦Th_cnt as a result of determination in S25, thevalue of counter dtct_cnt-i is incremented by ‘1’ (S28).

[0061] When Ri(t) ≦Th_R as a result of comparison in S24, the value ofcounter dtct_cnt-i is reset to ‘0’ (S29).

[0062] The waiting time setting section 105 sets a current waiting timewait time_i from the thus set howling observing time how_off_cnt-i and apreviously set waiting time (S15).

[0063] The waiting time setting section 105 refers to the howlingobserving time how_off_cnt-i for each frame and sets a waiting timebased on this value according to state transition views in FIGS. 7A and7B. FIGS. 7A and 7B are views each illustrating a different statetransition example. In addition, it is assumed that values of thresholdsT1 and T2 used to perform determination on the howling observing timehow_off_cnt-i are, for example, T1=1563 frames, T2=18750 frames,respectively.

[0064] A basic idea of the waiting time setting is that waiting timewait_time-i is set to be shorter since it can be considered that nohowling frequently occurs if the howling observing time how_off_cnt-i islong. While, since it can be considered that howling frequently occursif the howling observing time how_off_cnt-i is short, waiting timewait_time-i is set to be longer.

[0065] First, in FIG. 7A, an initial state is a state 1, and wait-time-iis set to 0 frame in the state 1, and the state stays in the state 1during how_off_cnt-i≦T1.

[0066] When how_off_cnt-i<T1 is reached, the state 1 transits to a state2, and wait−time−i is set to, for example, 3125 frames in the state 2.The state stays in the state 2 during T1≦how_off_cnt-i≦T2, and returnsto the state 1 when how_off_cnt-i>T2 is reached.

[0067] Moreover, when how_off_cnt-i<T1 is reached, the state 2 transitsto a state 3, and wait−time−i is set to, for example, 9375 frames in thestate 3. The state stays in the state 3 during T1≦how_off_cnt-i≦T2, andreturns to the state 2 when how_off_cnt-i>T2 is reached.

[0068] Still moreover, when how_off_cnt-i<T1 is reached, the state 3transits to a state 4, and wait-time-i is set to, for example, 18750frames in the state 4. The state stays in the state 4 duringhow_off_cnt-i≦T2, and returns to the state 3 when how_off_cnt-i>T2 isreached.

[0069] Next, in FIG. 7B, an initial state is a state 1, and wait-time-iis set to 0 frame in the state 1, and the state stays in the state 1during how_off_cnt-i≧T1.

[0070] When how_off_cnt-i<T1 is reached, the state 1 transits to a state2, and wait-time-i is set to, for example, 3125 frames in the state 2.The state stays in the state 2 during T1≦how_off_cnt-i≦T2, and returnsto the state 1 when how_off_cnt-i>T2 is reached.

[0071] Moreover, when how_off_cnt-i<T1 is reached, the state 2 transitsto a state 3, and wait-time-i is set to, for example, 9375 frames in thestate 3. The state stays in the state 3 during T1≦how_off_cnt-i≦T2, andreturns to the state 1 when how_off_cnt-i>T2 is reached.

[0072] Still moreover, when how_off_cnt-i<T1 is reached, the state 3transits to a state 4, and wait−time−i is set to, for example, 18750frames in the state 4. The state stays in the state 4 duringT1≦how_off_cnt-i≦T2, and returns to the state 2 when how_off_cnt-i>T2 isreached.

[0073] Here, for example, when sampling frequency Fs =20 kHz, the numberof FFT points=128 samples, and frame shift=64 samples, 1563 framesduring T1≈5s, 18750 frames during T2=60 s, 3125 frames during waitingtime in state 2=10 s, 9375 frames during waiting time in state 3=30 s,and 18750 frames during waiting time in state 4=60 s.

[0074] Next, the gain control section 106 controls a gain by processingillustrated in a flowchart of FIG. 8 (S16)

[0075] As illustrated in FIG. 8, first of all, reference is made to thehowling detection flag dtct_flg-i set by the howling detection section104 to check whether howling is detected (S41).

[0076] When dtct_flg-i=0x0000, it is judged that no howling occurs, andif the gain Gi (t) is under 1, the gain Gi is updated according to thefollowing equation in order to return the gain to ‘1’ (S42).

Gi(t)=Gi(t−1)×Gup1

[0077] where Gup1 is an update quantity for increasing the gain and avalue of Gup1>1 is obtained.

[0078] When dtct_flg-i=0x0000, it is judged that howling occurs, andreference is made to the gain control flag ctrl_gain_flg-i to performdetermination on whether gain Gi (t) (i is a band number) should bedecreased to suppress howling or gain Gi should be increased to cancelsuppression (S43). When ctrl_gain_flg-i=0x0000, the gain Gi(t) isupdated according to the following equation in order to suppress howling(S44).

Gi(t)=Gi(t−1)×Gdown

[0079] where Gdown is an update quantity for decreasing the gain and avalue of 0<Gdown<1 is obtained. Moreover, a gain lower limit value isprovided, thereby enabling to prevent suppression more than necessary.

[0080] Next, a ratio between the band level Li and the reference levelLref-i (t) is compared with a gain control threshold Th_Ctrl_gain (S45).

[0081] When Li(t) /Lref-i ≧Th_Ctrl_gain as a result of comparison,processing ends. When Li (t)/Lref-i (t)<Th_Ctrl_gain, it is judged thatoccurrence of howling is stopped and processing shifts to processing forreturning the gain Gi (t) to ‘1’, so that the value of ctrl_gain_flg-iis set to 0xffff (S46) and the value of the waiting time setting flagwait_ctrl_flg-i for determining whether gain Gi (t) should beimmediately returned to ‘1’ is set to 0xffff (S47).

[0082] When ctrl_gain_flg-i=0xffff as a result of comparison in S43, itis judged that occurrence of howling is stopped, and reference is madeto the value of the waiting time setting flag wait_ctrl_flg-i fordetermining whether a waiting time is set (S48). When wait_ctrl_flg-i=0xffff, since wait_time-i before performing processing (gain returnprocessing) for returning the gain to ‘1’ is not set, setting isperformed with reference to the waiting time set by the waiting timesetting section 105 (S49).

[0083] After that, the howling observing time how_off_cnt-i is reset to‘0’ as a preparation to a next processing, and wait_ctrl_flg is set to0x0000 in order to indicate that the waiting time is set (S50).

[0084] When wait_ctrl_flg-i=0x0000 as a result of comparison in S48,processing flow proceeds to a next step since the waiting time is set.

[0085] Next, reference is made to waiting time wait_time-i to judgewhether gain return processing should be performed (S51). Whenwait_time-i=0, the gain Gi is updated according to the followingequation in order to return the gain to ‘1’ since the set waiting timehas passed after the howling suppression (S52).

Gi(t)=Gi(t−1)×Gup0

[0086] where Gup0 is an update quantity for increasing the gain and avalue of Gup0>1 is obtained.

[0087] Next, it is determined whether the gain Gi (t) exceeds a gainthreshold Gup_Th (for example, 0.7 times (=−3.0 dB)) (S53) and when thegain Gi exceeds the gain threshold Gup_Th, 0x0000 is set to the howlingdetection flag dtct_flg-i and the gain control flag ctrl_gain_flg-i torestart the detection of howling (S54).

[0088] When the waiting time wait_time-i>0 as a result of comparison inS51, wait_time-i is decremented by ‘1’ since the set waiting time hasnot yet passed (S55).

[0089] Next, by use of the gain Gi thus obtained, the howlingsuppressing section 107 multiplies the band division signals xi (t)subjected to the band division by the band dividing section 101 by thegain Gi (t) to obtain yi (t) (S17).

yi(t)=xi(t)×Gi(t)

[0090] Next, the band combining section 108 calculates a time signal y(t) using the above yi (t) by a method corresponding to the banddivision method such as a polyphase filter, an FFT, and the likeperformed by the band dividing section 101, and outputs y (t) to an DAconverter, an amplifier, a speaker, and the like through the outputterminal 111.

[0091] As explained above, in the howling control apparatus of thisembodiment, the howling detecting section 104 counts the number offrames in which no howling occurs, and the waiting time setting section105 sets a waiting time up to the time when the suppression of howlingis stopped based on the number of frames and a previous waiting time, sothat it is possible to continue the suppression of howling withoutrepeating the suppression of howling and the cancellation even in atransient situation where howling occurrence and stopping frequentlyoccur.

[0092] Additionally, in this embodiment, the band level calculatingsection 102 calculated the respective levels of the band divisionsignals divided by the band dividing section 101. However, the bandlevel calculating section 102 may add frequency band signals divided bythe band dividing section 101 by the predetermined number thereof, anduse them as one band. For example, when the band dividing section 101frequency divides the time signal into 128 points by the FFT and theband level calculating section 102 uses FFT 4 points as one band, thenumber of bands becomes 16 bands (=128 points/2/4 points).

[0093] Another specific form of this embodiment is characterized in thata parametric equalizer 121 that performs filter processing for eachdivided frequency band and a filter coefficient calculating section 120that calculates a filter coefficient of each frequency band of theparametric equalizer 121 are provided in place of the howlingsuppressing section 107 and the band combining section 108 asillustrated in FIG. 9.

[0094] The parametric equalizer 121 has secondary IIR (Infinite ImpulseResponse) filters 121 a connected to each other in series thatcorrespond to the number of divided bands (M) as illustrated in FIG. 10.

[0095] The IIR filter 121 a includes delay devices 1201 to 1204,multipliers 1205 to 1209, and adders 1210 to 1212, and coefficientscalculated by the filter coefficient calculating section 120 are used ascoefficients a0, a1, a2, b1, and b2 of the respective multipliers 1205to 1209, and processing is performed in a sample unit.

[0096] Regarding the operation of the howling control apparatus, asillustrated in a flowchart of FIG. 11, similar to the aforementionedembodiment, an input signal x (t) is divided into a plurality of banddivision signals xi (t), each level Li (t) is calculated, an averagevalue Lave (t) of the levels of all band division signals is calculated,occurrence of howling is detected based on the level Li (t) and theaverage value Lave (t) of the levels, and the waiting time is set fromthe number of frames in which no howling is detected and a previouswaiting time, and gain control is performed based on the waiting time(S11 to S16).

[0097] Next, the filter coefficient calculating section 120 calculates acoefficient of the parametric equalizer 121 (IIR filter 121 a) based ona gain calculated by the gain control section 106 and predeterminedbandwidth and Q (value that decides the shape of filter) for every bandallocated when the band level calculating section 102 calculates theband level (S61).

[0098] The following shows an example when the band dividing section 101frequency divides the time signal into 128 points by the FFT. When asampling frequency is set to 20 kHz, a frequency resolution per FFT onepoint becomes 156.25 Hz. When the band level calculating section 102uses FFT 4 points as one band, the number of bands becomes 16 bands(=128 points/2/4points) and a bandwidth becomes 625 Hz (=156.25 Hz×4points). The gain control section 106 calculates a gain for each band.The filter coefficient calculating section 120 calculates a coefficientof the parametric equalizer 121 (IIR filter 121 a) based on the gain andpredetermined bandwidth (625 Hz) and Q by a method such as a tustintransform and the like.

[0099] Sequentially, the parametric equalizer 121 performs filtering ina sample unit based on the filter coefficient calculated by the filtercoefficient calculating section 120 (S62).

[0100] The aforementioned configuration makes it possible to shortendelay time between the input and output.

[0101] Embodiment 2

[0102] FIGS. 12 to 15 are view each explaining a howling controlapparatus of Embodiment 2 of the present invention. Additionally, sincethis embodiment is configured to be substantially the same as theaforementioned Embodiment 1, the parts with the same configuration asthose of Embodiment 1 are assigned the same numbers and only thecharacteristic portion will be explained.

[0103] This embodiment is characterized in that an update quantitysetting section 201 that controls an update quantity Gup-i for returninga gain (to one time) is provided in place of the waiting time settingsection 105 of the aforementioned Embodiment 1 and the update quantityof a gain control section 202 is variable.

[0104] More specifically, as illustrated in a flowchart of FIG. 13,similar to the aforementioned Embodiment 1, an input signal x (t) isdivided into a plurality of band division signals xi (t), each level Li(t) is calculated, an average value Lave (t) of the levels of allfrequency band division signals is calculated, and occurrence of howlingis detected based on the level Li (t) and the average value Lave (t) ofthe levels (S11 to S14).

[0105] After that, the update quantity setting section 201 sets acurrent update quantity Gup-i from the howling observing timehow_off_cnt-i observed by the howling detecting section 104 and apreviously set update quantity Gup-i (S71).

[0106] The update quantity setting section 201 refers to the howlingobserving time how_off_cnt-i for each frame and sets a current updatequantity Gup-i based on this value according to state transition viewsin FIGS. 14A and 14B. FIGS. 14A and 14B are views each illustrating adifferent state transition example. In addition, it is assumed thatvalues of thresholds T1 and T2 used to perform determination on thehowling observing time how_off_cnt-i are, for example, T1=1563 frames,T2=18750 frames, respectively.

[0107] A basic idea of the update quantity is that the update quantityGup-i (>1) is set to be a larger value since it can be considered thatno howling frequently occurs if the howling observing time how_off_cnt-iis long. While, since it can be considered that howling frequentlyoccurs if the howling observing time how_off_cnt-i is short, the updatequantity Gup-i(>1) is set to be a smaller value.

[0108] First, in FIG. 14A, an initial state is a state 1, and Gup-i isset to, for example, 1.003690 (=5.0 dB/s equivalence) in the state 1,and the state stays in the state 1 during how_off_cnt-i≧T1.

[0109] When how_off_cnt-i<T1 is reached, the state 1 transits to a state2, and Gup-i is set to, for example, 1.00147 (=2.0 dB/s equivalence) inthe state 2. The state stays in the state 2 during T1 ≦how_off_cnt-i≦T2,and returns to the state 1 when how_off_cnt-i>T2 is reached.

[0110] Moreover, when how_off_cnt-i<T1 is reached, the state 2 transitsto a state 3, and Gup-i is set to, for example, 1.00037 (=0.5 dB/sequivalence) in the state 3. The state stays in the state 3 duringT1≦how_off_cnt-i≦T2, and returns to the state 2 when how_off_cnt-i>T2 isreached.

[0111] Still moreover, when how_off_cnt-i<T1 is reached, the state 3transits to a state 4, and Gup-i is set to, for example, 1.00007 (=0.1dB/s equivalence) in the state 4. The state stays in the state 4 duringhow_off_cnt-i≦T2, and returns to the state 3 when how_off_cnt-i>T2 isreached.

[0112] Next, in FIG. 14B, an initial state is a state 1, and Gup-i isset to, for example, 1.003690 (=5.0 dB/s equivalence) in the state 1,and the state stays in the state 1 during how_off_cnt-i≧T1.

[0113] When how_off_cnt-i<T1 is reached, the state 1 transits to a state2, and Gup-i is set to, for example, 1.00147 (=2.0 dB/s equivalence) inthe state 2. The state stays in the state 2 during T1 ≦how_off_cnt-i≦T2,and returns to the state 1 when how_off_cnt-i>T2 is reached.

[0114] Moreover, when how_off_cnt-i<T1 is reached, the state 2 transitsto a state 3, and Gup-i is set to, for example, 1.00037 (=0.5 dB/sequivalence) in the state 3. The state stays in the state 3 duringT1≦how_off_cnt-i≦T2, and returns to the state 2 when how_off_cnt-i>T2 isreached.

[0115] Still moreover, when how_off_cnt-i<T1 is reached, the state 3transits to a state 4, and Gup-i is set to, for example, 1.00007 (=0.1dB/s equivalence) in the state 4. The state stays in the state 4 duringhow_off_cnt-i≦T2, and returns to the state 2 when how_off_cnt-i>T2 isreached.

[0116] Here, for example, when sampling frequency Fs =20 kHz, the numberof FFT points =128 samples, and frame shift=64 samples, 1563 framesduring T1≈5 s, 18750 frames during T2=60 s.

[0117] Next, the gain control section 202 controls a gain by processingillustrated in a flowchart of FIG. 15 (S72).

[0118] As illustrated in FIG. 15, first of all, reference is made to thehowling detection flag dtct_flg-i to check whether howling is detected(S81).

[0119] When dtct_flg-i=0x0000, it is judged that no howling occurs, andif the gain Gi (t) is under 1, the gain Gi is updated according to thefollowing equation in order to return the gain to ‘1’ (S82).

Gi(t)=Gi(t−1)×Gup1

[0120] where Gup1 is an update quantity for increasing the gain and avalue of Gup1>1 is obtained.

[0121] When dtct_flg-i=0xffff, it is judged that howling occurs, andreference is made to the gain control flag ctrl_gain_flg-i to performdetermination on whether gain Gi (t) (i is a band number) should bedecreased to suppress howling or gain Gi(t) should be increased tocancel suppression (S83).

[0122] When ctrl_gain_flg-i=0x0000, the gain Gi is updated according tothe following equation in order to suppress howling (S84).

Gi(t)=Gi(t−1)×Gdown

[0123] where Gdown is an update quantity for decreasing the gain and avalue of 0<Gdown<1 is obtained. Moreover, a gain lower limit value isprovided, thereby enabling to prevent suppression more than necessary.

[0124] Next, a ratio between the band level Li (t) and the referencelevel Lref-i (t) is compared with a gain control threshold Th_Ctrl_gain(S85).

[0125] When Li /Lref-i <Th_Ctrl_gain as a result of comparison, it isjudged that occurrence of howling is stopped and processing shifts toprocessing for returning the gain Gi to ‘1’, so that the value ofctrl_gain_flg-i is set to 0xffff (S86) and the value of the updatequantity setting flag gup_ctrl_flg-i for determining whether gain Gi (t)should be immediately returned to ‘1’ is set to 0xffff (S87).

[0126] When ctrl_gain_flg-i=0xffff as a result of comparison in S83, itis judged that occurrence of howling is stopped, and reference is madeto the value of the update quantity setting flag gup_ctrl_flg-i fordetermining whether the update quantity is set (S88). Whengup_ctrl_flg-i=0xffff, since Gup-i of processing (gain returnprocessing) for returning the gain to ‘1’ is not set, the updatequantity set by the update quantity setting section 201 is set (S89).

[0127] After that, the howling observing time how_off_cnt-i is reset to‘0’ as a preparation to a next processing, and gup_ctrl_flg is set to0x0000 in order to indicate that the update quantity is set (S90).

[0128] Additionally, when gup_ctrl_flg-i=0x0000 as a result ofcomparison in S88, processing flow proceeds to a next step since thesetting of Gup-i is completed.

[0129] Next, the gain Gi(t) is updated according to the followingequation in order to return the gain to one time after the howlingsuppression (S91).

Gi(t)=Gi(t−1)×Gup-i

[0130] where Gup-i is an update quantity for increasing the gain and avalue that is set by the update quantity setting section 201.

[0131] Next, it is determined whether the gain Gi (t) exceeds a gainthreshold Gup_Th (for example, 0.7 times (=−3.0 dB)) (S92) and when thegain Gi (t) exceeds the gain threshold Gup_Th, 0x0000 is set to thehowling detection flag dtct_flg-i and the gain control flagctrl_gain_flg-i to restart the detection of howling (S93).

[0132] After that, similar to the aforementioned Embodiment 1, by use ofthe obtained Gi (t), the howling suppressing section 107 multiplies theband division signals xi (t) by the gain Gi (t) to obtain yi(t) , andthe band combining section 108 calculates a time signal y (t) by amethod corresponding to the band division method performed by the banddividing section 101, and outputs y (t) to an DA converter, anamplifier, a speaker, and the like through the output terminal 111 (Sl7,S18).

[0133] As explained above, in the howling control apparatus of thisembodiment, the howling detecting section 104 counts the number offrames in which no howling occurs, and the update quantity settingsection 201 sets an update quantity at the time of returning the gainafter the howling suppression based on the number of frames and theprevious update quantity, so that it is possible to continue the howlingsuppression without repeating the howling suppression and cancellationeven in a transient situation where howling occurrence and stoppingfrequently occur.

[0134] Accordingly, in this embodiment, the band level calculatingsection 102 calculated the respective levels of the band divisionsignals divided by the band dividing section 101. However, the bandlevel calculating section 102 may add frequency band signals divided bythe band dividing section 101 by the predetermined number thereof, anduse them as one band.

[0135] Another specific form of this embodiment is characterized in thata parametric equalizer 121 that performs filter processing for eachdivided frequency band and a filter coefficient calculating section 120that calculates a filter coefficient of each frequency band of theparametric equalizer 121 are provided in place of the howlingsuppressing section 107 and the band combining section 108 asillustrated in FIG. 16.

[0136] The filter coefficient calculating section 120 and the parametricequalizer 121 are configured in the same manner as those of theaforementioned Embodiment 1, and the explanation is omitted.

[0137] Regarding the operation of the howling control apparatus, asillustrated in a flowchart of FIG. 17, similar to the aforementionedembodiment, an input signal x (t) is divided into a plurality of banddivision signals xi (t), each level Li (t) is calculated, an averagevalue Lave(t) of the levels of all band division signals is calculated,and occurrence of howling is detected based on the level Li (t) and theaverage value Lave (t) of the levels (S11 to S14).

[0138] Next, an update quantity is set from the number of frames inwhich no howling is detected and a previous update quantity, and gaincontrol is performed based on the update quantity (S71, S72)

[0139] Sequentially, similar to another specific form of theaforementioned Embodiment 1, the filter coefficient calculating section120 calculates a coefficient of the parametric equalizer 121 (IIR filter121 a) for each band based on a gain and predetermined bandwidth and Q,and the parametric equalizer 121 performs filtering in a sample unitbased on the filter coefficient calculated by the filter coefficientcalculating section 120 (S61, S62).

[0140] The aforementioned configuration makes it possible to shortendelay time between the input and output.

[0141] As explained above, according to the present invention, a holdingcontrol section controls time up to the cancellation of howlingsuppression according to the frequency of howling occurrence, therebyenabling to eliminate the repetition of howling suppression andcancellation.

[0142] This application is based on the Japanese Patent Application No.2002-067083 filed on Mar. 12, 2002, entire content of which is expresslyincorporated by reference herein.

INDUSTRIAL APPLICABILITY

[0143] The present invention can be applied to a howling controlapparatus and howling control method for controlling a howl generated bysound coupling between a speaker and a microphone in an acousticapparatus having a microphone and a speaker such as a hearing aid,loud-speaker system, and the like.

1. A howling control apparatus comprising: detecting section thatmeasures a howling observing time that is time for which no howlingoccurs in an input signal and that detects howling when the howlingoccurs in the input signal; control section that controls suppressionprocessing of the detected howling by setting a gain based on thehowling observing time; and suppressing section that performs howlingsuppression processing to the input signal using the gain.
 2. Thehowling control apparatus according to claim 1, wherein said controlsection includes: a waiting time setting section that sets a waitingtime for which the gain used for the howling suppression processing ismaintained after the howling suppression based on the howling observingtime; and a gain control section that returns the gain to an initialvalue when the set waiting time passes after the howling suppression. 3.The howling control apparatus according to claim 2, wherein said waitingtime setting section sets a current waiting time according to thehowling observing time and a waiting time set in the past.
 4. Thehowling control apparatus according to claim 3, wherein said waitingtime setting section sets the current waiting time to be shorter thanthe waiting time set in the past when the howling observing time islonger than a predetermined reference, and sets the current waiting timeto be longer than the waiting time set in the past when the howlingobserving time is shorter than a predetermined reference.
 5. The howlingcontrol apparatus according to claim 1, wherein said control sectionincludes: an update quantity setting section that sets an updatequantity of the gain used for the howling suppression processing afterthe howling suppression based on the howling observing time; and a gaincontrol section that updates the gain by the set update quantity afterthe howling suppression.
 6. The howling control apparatus according toclaim 5, wherein said update quantity setting section sets a currentupdate quantity according to the howling observing time and an updatequantity set in the past.
 7. The howling control apparatus according toclaim 5, wherein said update quantity setting section sets the currentupdate quantity to be larger than the update quantity set in the pastwhen the howling observing time is longer than a predeterminedreference, and sets the current update quantity to be smaller than theupdate quantity set in the past when the howling observing time isshorter than a predetermined reference.
 8. The howling control apparatusaccording to claim 1, wherein said detecting section includes: a banddividing section that divides an input signal into band division signalsof a plurality of frequency bands; a band level calculating section thatcalculates the respective band levels of the band division signalsobtained by division; and a band level average value calculating sectionthat calculates an average value of the respective calculated bandlevels of the band division signals, and detects howling using a ratiobetween the band level and the band level average value.
 9. The howlingcontrol apparatus according to claim 8, wherein said suppressing sectionincludes: a howling suppressing section that multiplies the banddivision signals by a gain set by said control section; and a bandcombining section that combines the band division signals multiplied bythe gain.
 10. The howling control apparatus according to claim 8,wherein said suppressing section includes: a filter coefficientcalculating section that calculates a coefficient for filteringaccording to a gain set by said control section and a bandwidth of eachband division signal; and a parametric equalizer that multiplies eachband division signal by the calculated coefficient.
 11. A howlingcontrol method comprising the steps of: measuring a howling observingtime that is time for which no howling occurs in an input signal;detecting howling when the howling occurs in the input signal;controlling suppression processing of the detected howling by setting again based on the howling observing time; and performing howlingsuppression processing to the input signal using the gain.